#pragma once

#include "UI\Controls\Control.h"
#include "UI\Controls\SimpleControl.h"

#include "UI\Controls\ControlMgr.h"

#include "UI\Controls\ControlFactory.inl"

namespace ShRp
{
	namespace UI
	{
		class ControlFactory
		{
		public:
			static bool Init();
			static void Terminate();
			


		public:
			// Creates a control of specified type.
			static Control* CreateControl(Control::Type::E _ControlType)
			StartControlTypes(
				// Insert AddControlType calls here.
				// AddControlType( Type, { Code to be inserted after object creation }
				AddControlType( SimpleControl, {},
				EndControlTypes()
				) // Add closing bracket for each AddControlType here.
			)
		};
	};
};